La règle et ses éléments doivent être entre parenthèses : (règle)
La règle peut être :
(if (is (application_name) "gThumb") (maximize)) (si l'application qui ouvre la fenêtre est gThumb alors devilspie va maximiser la fenêtre).
La condition peut être :
L'objet de la condition peut être :
Il peut être utile de combiner des conditions, par exemple traiter toutes les fenêtres de Firefox dont le titre contient ubuntu ; on peut à cet effet utiliser and et or.
(and (is (application_name) "Firefox") (contains (window_name) "Ubuntu"))
De la même façon, on peut faire appliquer plusieurs actions en faisant débuter la liste par begin :
(if (is (application_name) "gThumb") (begin (maximize) (set_workspace 4)))
Quand une action comporte un argument l'ensemble doit être entre parenthèses.
Pour obtenir le nom exacte d'une application (à utiliser avec application_name) il vous suffit de créer un fichier ~/.devilspie/debug.ds et d'y ajouter :
(debug)
Ensuite, lancez "devilspie -d" dans une console et observez les lignes apparaissant à l'écran lorsque vous lancez une application. Exemple pour Firefox :
Window Title: 'Mozilla Firefox Beta 1'; Application Name: 'Firefox'; Class: 'Firefox-bin'; Geometry: 1014x692+5+46
La partie à retenir est : "Application Name: 'Firefox'".
pour finir voici un exemple avec gajim qui associe and et or :
(if
(and (contains (application_name) "gajim.py") (or(contains(window_name) "salon 1") (contains(window_name) "salon 2")))
(begin
(set_workspace 1)
(below)
(undecorate)
(skip_pager)
(skip_tasklist)
(wintype "utility")
(geometry "900x450+375+55")
)
)
Il est possible d'avoir plusieurs règles dans un seul fichier. Il faut pour cela englober les règles dans un "begin" général.
(begin
(if (contains (application_name) "toto")
(begin (set_workspace 1)
(geometry "+0+0")))
(if (contains (application_name) "titi")
...)
....
)
Si vous désirez avoir une application sur tous les bureaux en utilisant Compiz, utilisez les éléments suivants :
(stick) (wintype "dock")
Pour Metacity :
(pin) (wintype "desktop")
Si vous voulez lancer une application sur un bureau précis en utilisant Compiz (X est le numéro du bureau visé) :
(set_viewport X)
Pour Metacity :
(set_workspace X)
Si l'application graphique ne se lance pas, ouvrez avec les droits d'administrateur le fichier /usr/bin/gdevilspie.
Commentez 1) la ligne suivante:
# self.UpdateAutostartStatus()
Enregistrer le fichier et relancer gdevilpsie. (Merci à hrvooje de la communauté de Linux Mint)
Un changement de paramétrage n'est pris en compte qu'après un redémarrage de devilspie. Le plus simple est de redémarrer la session.